// 动态规划
const fib = function(n) {
    // 校验
    if (n == 0) {
        return 0;
    }
    // 底部
    let a1 = 0;
    let a2 = 1;
    // let temp = 0;
    // O(1)
    // "迭代"的过程  和递归一样，也是一种功能手段
    for (let i = 1; i < n; i++) {  // 迭代
        // es6  解构式赋值
        [a1, a2] = [a2, a1 + a2];
    }
    return a2;
}